#include <stdio.h>
#include <stdlib.h>

// 此代码是对库函数atoi的模拟实现
// atoi的功能还挺复杂的,而且老师上课还没讲这个,只叫我们作业里面模拟实现
// int atoi (const char* pa)
// 函数的基本功能如下:
// 1.将一段字符串里面的含有数字字符的部分读取出来,再返回
// 2.函数接收到的字符串为空(NULL)时,只会返回0
// 3.当接受的字符串前面是一堆空格,会直接跳过然后寻找带有数字字符的部分
// 4.当字符串里面所有的数字字符部分是不连续的,只会返回前面连续的一段的字符串部分

int myatoi (const char* pa)
{

    if (pa == NULL) { return 0 ; }

    int res = 0 , i = 0 ;

    while (*pa == ' ')
    {

        pa++ ;
        
    }

    while (pa [i] != '\0' && '0' <= pa [i] && '9' >= pa [i])
    {

        res = (res * 10) + (pa [i] - '0') ;

        i++ ;

    }

    return res ;

}

int main ()
{

    char str1 [] = "12345" ;

    char str2 [] = "123abc45" ;

    int num1 = atoi (str1) ;

    int num2 = atoi (str2) ;

    int num3 = myatoi (str1) ;

    int num4 = myatoi (str2) ;

    printf ("%d %d\n" , num1 , num3) ;

    printf ("%d %d\n" , num2 , num4) ;

    return 0 ;

}